package cn.com.msui.dao.identity;

import java.util.List;
import java.util.Map;

import cn.com.msui.dao.BaseDAO;
import cn.com.msui.domain.identity.User;

/**
 * 与用户管理相关的DAO层接口
 * 
 * @author Yuegz
 * 
 */
public interface UserDAO extends BaseDAO {
	/**
	 * 通过ID查询一个用户
	 * 
	 * @param id
	 * @return
	 * @throws Exception
	 */
	public User selectByPrimaryKey(String id) throws Exception;

	/**
	 * 增加一个用户
	 * 
	 * @param user
	 * @throws Exception
	 */
	public void insertOneUser(User user) throws Exception;

	/**
	 * 查询用户信息
	 * 
	 * @param conditions
	 * @return
	 * @throws Exception
	 */
	public List<User> selectUsers(Map<String, Object> conditions) throws Exception;

	/**
	 * 通过编号批量删除用户
	 * 
	 * @param ids
	 * @throws Exception
	 */
	public void deleteUsersById(String[] ids) throws Exception;

	/**
	 * 修改用户
	 * 
	 * @param user
	 * @throws Exception
	 */
	public void updateOneUser(User user) throws Exception;

	/**
	 * 通过账号查询一个用户
	 * 
	 * @param account
	 * @return
	 * @throws Exception
	 */
	public User selectOneUserByAccount(String account) throws Exception;
}
